package br.com.dallas.parametro.controller;

import java.sql.Connection;

import br.com.dallas.parametro.javabean.ParametroBean;
import br.com.dallas.parametro.model.ParametroModel;
import br.com.dallas.util.controller.AbstractController;
import br.com.dallas.util.exception.AlterarObjetoException;
import br.com.dallas.util.exception.ClasseNaoEncontradaException;
import br.com.dallas.util.exception.ConexaoException;
import br.com.dallas.util.exception.ConsultarObjetoException;

public class ParametroController extends AbstractController
{
	public ParametroController() throws ConexaoException, ClasseNaoEncontradaException
	{
		super();
	}

	public ParametroController(Connection conexao) throws ConexaoException
	{
		super(conexao);
	}
	
	public void atualizarParametro(final ParametroBean parametroBean) throws AlterarObjetoException
	{
		ParametroModel parametroModel = null;
		try
		{
			if (parametroBean != null)
			{
				parametroModel = new ParametroModel(getConexao());
				
				synchronized (ParametroBean.class)
				{
					parametroBean.setAtualizacaoTela(parametroBean.getAtualizacaoTela() * 60);
					parametroModel.alterarObjeto(parametroBean);
					commit();
				}	
			}
		}
		catch(AlterarObjetoException e)
		{
			rollback();
			throw e;
		}
		finally
		{
			if (parametroModel != null)
				parametroModel = null;
		}
		
	}
	
	public void consultarParametro(final ParametroBean parametroBean) throws ConsultarObjetoException
	{
		ParametroModel parametroModel = null;
		try
		{
			if (parametroBean != null)
			{
				parametroModel = new ParametroModel(getConexao());
				parametroModel.consultarObjeto(parametroBean);
				parametroBean.setAtualizacaoTela(parametroBean.getAtualizacaoTela() / 60);
			}
		}
		catch(ConsultarObjetoException e)
		{	
			throw e;
		}
		finally
		{
			if (parametroModel != null)
				parametroModel = null;
		}
	}
	
	public void consultarParametroLogin(final ParametroBean parametroBean) throws ConsultarObjetoException
	{
		ParametroModel parametroModel = null;
		try
		{
			if (parametroBean != null)
			{
				parametroModel = new ParametroModel(getConexao());
				parametroModel.consultarObjeto(parametroBean);
			}
		}
		catch(ConsultarObjetoException e)
		{	
			throw e;
		}
		finally
		{
			if (parametroModel != null)
				parametroModel = null;
		}
	}
}
